package ro.unibuc.nautilus.domain;

import java.util.Date;
import java.util.List;

public class Route extends Entity {

	private Date departureDate;

	private Date arrivalDate;

	private Date estimatedArrivalDate;

	/**
	 * Can be the number of passengers or the value of transport, depending on
	 * the ship type.
	 */
	private double transportValue;

	/**
	 * The Ship for which this route is registered
	 */
	private Ship ship;

	/**
	 * Intermediary harbours on the route
	 */
	private List<Harbour> harbours;

	public Route() {

	}
	
	public Route(Date departureDate, Date arrivalDate, Date estimatedArrivalDate,
			double transportValue, Ship ship, List<Harbour> harbours) {
		super();
		this.departureDate = departureDate;
		this.arrivalDate = arrivalDate;
		this.estimatedArrivalDate = estimatedArrivalDate;
		this.transportValue = transportValue;
		this.ship = ship;
		this.harbours = harbours;
	}

	public Date getDepartureDate() {
		return departureDate;
	}

	public void setDepartureDate(Date departureDate) {
		this.departureDate = departureDate;
	}

	public Date getEstimatedArrivalDate() {
		return estimatedArrivalDate;
	}

	public void setEstimatedArrivalDate(Date estimatedArrivalDate) {
		this.estimatedArrivalDate = estimatedArrivalDate;
	}

	public Date getArrivalDate() {
		return arrivalDate;
	}

	public void setArrivalDate(Date arrivalDate) {
		this.arrivalDate = arrivalDate;
	}

	public double getTransportValue() {
		return transportValue;
	}

	public void setTransportValue(double transportValue) {
		this.transportValue = transportValue;
	}

	public Ship getShip() {
		return ship;
	}

	public void setShip(Ship ship) {
		this.ship = ship;
	}

	public List<Harbour> getHarbours() {
		return harbours;
	}

	public void setHarbours(List<Harbour> harbours) {
		this.harbours = harbours;
	}
}
